package com.xj.onetosix;

/**
 * 1. 类和对象的关系  类是抽象的，一类事物。对象是具体的。
 * A a=new A();    A 是类   a是对象
 * 可以通过对象名调用类的属性和方法
 *
 * 2. 定义方法
 *    public 返回值  方法名（参数列表  param1, param2）{
 *        return 的值要和上面返回值类型一致
 *    }
 *    如果不需要返回值，就声明为void
 * 3. 静态static
 *    它属于类，可以直接通过类名调用，所以为了方便（不需要new），经常用它来修饰工具类的方法
 *    而非静态成员（属性+方法） 只能通过对象名来调用
 *
 */
public class Saler {

    String name;
    static int ticket = 5;

    public Saler(String name) {
        this.name = name;
    }

    public void sal() {
        if (ticket > 0) {
            System.out.println("售票员" + name + "售票一张，剩余" + --ticket + "张");
        } else {
            System.out.println("票已售完，目前剩余" + ticket + "张");
        }
    }

    public static void main(String[] args) {
        Saler saler1 = new Saler("张三");
        Saler saler2 = new Saler("李四");
        saler1.sal();
        saler2.sal();
        saler1.sal();
        saler2.sal();
        saler1.sal();
        saler2.sal();
        saler1.sal();
        saler2.sal();
        saler1.sal();
        saler2.sal();
    }
}
